using System;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;

internal class m
{
	private static object m_a = null;

	private static ah m_b = new ah();

	public static bool a(string A_0, string A_1)
	{
		return a(Encoding.UTF8.GetBytes(A_0), Convert.FromBase64String(A_1));
	}

	public static bool a(byte[] A_0, byte[] A_1)
	{
		return ((RSACryptoServiceProvider)m.m_a).VerifyData(A_0, "MD5", A_1);
	}

	public static string c()
	{
		FieldInfo[] fields = typeof(y).GetFields(BindingFlags.Static | BindingFlags.Public);
		foreach (FieldInfo fieldInfo in fields)
		{
			if (fieldInfo.GetCustomAttributes(typeof(a0), inherit: false).Length > 0)
			{
				return (string)fieldInfo.GetValue(null);
			}
		}
		return null;
	}

	public static string b()
	{
		a();
		FieldInfo[] fields = typeof(y).GetFields(BindingFlags.Static | BindingFlags.Public);
		foreach (FieldInfo fieldInfo in fields)
		{
			if (fieldInfo.GetCustomAttributes(typeof(s), inherit: false).Length > 0)
			{
				return (string)fieldInfo.GetValue(null) + z.a + global::a.a;
			}
		}
		return null;
	}

	private static void a()
	{
		ah obj = m.m_b;
		ah.a a2 = new ah.a();
		a2.a(Convert.FromBase64String(g.i));
		a2.b(Convert.FromBase64String(n.c));
		obj.a(a2);
	}

	public static void a(out string A_0, out string A_1)
	{
		A_0 = b();
		A_1 = c();
		A_0 = m.m_b.b(A_0);
		A_1 = m.m_b.b(A_1);
	}
}
